home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / MCASM.RAR / MC_ASM.EXE / WROX_ASM / CH12 / COMMON / KEYMOUSE.H < prev    next >
C/C++ Source or Header  |  1994-09-24  |  5KB  |  189 lines

  1. /************************************************************************/
  2. /* This header describes some useful                      */
  3. /* mouse & keyboard dealing procedure                     */
  4. /*    Kiselev Y. & E.Podvoysky from ^Z for WROX press book, 1994    */
  5. /************************************************************************/
  6.  
  7. #ifndef KEYMOUSE_H
  8. #define KEYMOUSE_H
  9. #include "common.h"
  10.  
  11. #define    kwF1   0x3b00
  12. #define kwF2   0x3c00
  13. #define kwF3   0x3d00
  14. #define kwF4   0x3e00
  15. #define kwF5   0x3f00
  16. #define kwF6   0x4000
  17. #define kwF7   0x4100
  18. #define kwF8   0x4200
  19. #define kwF9   0x4300
  20. #define kwF10   0x4400
  21.  
  22. #define kwF11   0x8500
  23. #define kwF12   0x8600
  24.  
  25.  
  26. #define kwShiftF1  0x5400
  27. #define kwShiftF2  0x5500
  28. #define kwShiftF3  0x5600
  29. #define kwShiftF4  0x5700
  30. #define kwShiftF5  0x5800
  31. #define kwShiftF6  0x5900
  32. #define kwShiftF7  0x5a00
  33. #define kwShiftF8  0x5b00
  34. #define kwShiftF9  0x5c00
  35.  
  36. #define kwShiftF10  0x5d00
  37. #define kwShiftF11  0x8700
  38. #define kwShiftF12  0x8800
  39.  
  40. #define kwEnter   0x1c0d
  41. #define kwSpace  0x3920
  42. #define kwEsc   0x11b
  43. #define kwCtrlBreak   0
  44. #define kwTab  0x0F09
  45. #define kwShiftTab  0x0F00
  46. #define kwBkSp  0x0E08
  47.         // same w/shift
  48. #define kwCtrlBkSp  0x0E7F
  49. #define kwDel  0x5300
  50. #define kwShiftDel  0x532E
  51. #define kwIns  0x5200
  52. #define kwShiftIns  0x5230
  53.  
  54.  
  55. #define kwLeft   0x4b00
  56. #define kwRight   0x4d00
  57. #define kwUp   0x4800
  58. #define kwDown   0x5000
  59. #define kwHome   0x4700
  60. #define kwEnd   0x4f00
  61. #define kwPgUp   0x4900
  62. #define kwPgDn   0x5100
  63. #define kwShiftLeft   0x4b34
  64. #define kwShiftRight   0x4d36
  65. #define kwShiftUp   0x4838
  66. #define kwShiftDown   0x5032
  67. #define kwShiftHome   0x4737
  68. #define kwShiftEnd   0x4f31
  69. #define kwShiftPgUp   0x4939
  70. #define kwShiftPgDn   0x5133
  71.  
  72. #define kwCtrlLeft  0x7300
  73. #define kwCtrlRight  0x7400
  74. #define kwCtrlHome  0x7700
  75. #define kwCtrlEnd  0x7500
  76.  
  77. #define kwGreyPlus  0x4e2b
  78. #define kwGreyMinus  0x4a2d
  79. #define kwGreyAsterisk  0x372A
  80.  
  81.  
  82. #define kwCtrlPgUp   0x8400
  83. #define kwCtrlPgDn   0x7600
  84. #define kwCtrlLeftSqBracket  1
  85. #define kwCtrlRightSqBracket 2
  86.  
  87. #define kwAltA   0x1E00
  88. #define kwAltN  0x3100
  89. #define kwAltB   0x3000
  90. #define kwAltO  0x1800
  91. #define kwAltC   0x2E00
  92. #define kwAltP  0x1900
  93. #define kwAltD   0x2000
  94. #define kwAltQ  0x1000
  95. #define kwAltE   0x1200
  96. #define kwAltR  0x1300
  97. #define kwAltF   0x2100
  98. #define kwAltS  0x1F00
  99. #define kwAltG   0x2200
  100. #define kwAltT  0x1400
  101. #define kwAltH   0x2300
  102. #define kwAltU  0x1600
  103. #define kwAltI   0x1700
  104. #define kwAltV  0x2F00
  105. #define kwAltJ   0x2400
  106. #define kwAltW  0x1100
  107. #define kwAltK   0x2500
  108. #define kwAltX  0x2D00
  109. #define kwAltL   0x2600
  110. #define kwAltY  0x1500
  111. #define kwAltM   0x3200
  112. #define kwAltZ  0x2C00
  113.  
  114. #define kwAlt0   0x8100
  115. #define kwAlt1   0x7800
  116. #define kwAlt2   0x7900
  117. #define kwAlt3   0x7A00
  118. #define kwAlt4   0x7B00
  119. #define kwAlt5   0x7C00
  120. #define kwAlt6   0x7D00
  121. #define kwAlt7   0x7E00
  122. #define kwAlt8   0x7F00
  123. #define kwAlt9   0x8000
  124. #define kwAltF3  0x6A00
  125.  
  126. #define kwCtrlBkSlash  0x2B1C
  127. #define kwCtrlEnter  0x1c0a
  128.  
  129. #define kwCtrlA  0x1E01
  130. #define kwCtrlB  0x3002
  131. #define kwCtrlC  0x2E03
  132. #define kwCtrlD  0x2004
  133. #define kwCtrlE  0x1205
  134. #define kwCtrlF  0x2106
  135. #define kwCtrlG  0x2207
  136. #define kwCtrlH  0x2308
  137. #define kwCtrlI  0x1709
  138. #define kwCtrlJ  0x240A
  139. #define kwCtrlK  0x250B
  140. #define kwCtrlL  0x260C
  141. #define kwCtrlM  0x320D
  142. #define kwCtrlN  0x310E
  143. #define kwCtrlO  0x180F
  144. #define kwCtrlP  0x1910
  145. #define kwCtrlQ  0x1011
  146. #define kwCtrlR  0x1312
  147. #define kwCtrlS  0x1F13
  148. #define kwCtrlT  0x1414
  149. #define kwCtrlU  0x1615
  150. #define kwCtrlV  0x2F16
  151. #define kwCtrlW  0x1117
  152. #define kwCtrlX  0x2d18
  153. #define kwCtrlY  0x1519
  154. #define kwCtrlZ  0x2C1A
  155.  
  156. WORD readkeyword();   // wait key heat and read key value as word
  157. BYTE keyboardstatus();
  158.  
  159. /////////////////////////////////////////////////////////////////
  160.  
  161. extern int num_of_buttom;
  162. extern int mousex,mousey;
  163. extern WORD buttons;
  164.  
  165. int initmouse();
  166. void hide_mouse();
  167. void show_mouse();
  168. void hide_mymouse();
  169. void show_mymouse();
  170. BYTE getmousedata(int &x,int &y);   // where is mouse ?
  171. void setmousepos(int x,int y);
  172. void setmouserange(int x1,int y1,int x2,int y2);
  173. void setmousehandler(void far *handle,WORD mask);
  174. void far mousehandler();
  175.  
  176. void getmousestate(int &x,int &y,WORD &button);
  177.     // waits mouse button pressed
  178.     // returns mouse coordinates and button code
  179.  
  180. void initmouse_easy(); // sets mouse handler
  181.  
  182. void delay_key(long time); // wait kbhit() or mouse button pressed
  183.                // or time (ms) passed
  184. void clearkey();           // clear keyboard buffer
  185. void delay_key1(long time); // clearkey(); delay_key(time);
  186.  
  187.  
  188. #endif
  189.